#ifndef __IDATA_CONNECT__
#define __IDATA_CONNECT__

#include "IObject.h"
#include "IPacket.h"
#include "IIntProCom.h"
//#include "IBaseBusinessOperation.h"

class IConnect : public virtual IObject, public virtual IProductInstance
{
public: 
	virtual const char * ConnectText() = 0;
	virtual const bool SetConnectText(const char * szConnectText) = 0;
	virtual const bool EnableConnect() = 0;
	virtual const void DisableConnect() = 0;
	virtual const bool Connected() = 0;
	virtual const bool RunLbm(const char * pszLbmNo, void * ptrTask, void * ptrResult) = 0;
	virtual const bool GetInfo(const char * pszInfoName, char * ptrInfoValue, int iInfoValueSize) = 0;
	virtual const void CopyConnect(IConnect * ptrSouConnect) = 0;
    virtual const bool ComparePassword(const char * szConnectText) = 0;
    virtual const bool ReConnectFlag(const int iTime = 15) = 0;
    virtual const bool RC() = 0;
};

class ILbm : public virtual IObject
{
public:
	virtual const char * LbmNo() = 0;
	virtual const bool CompareFlg() = 0;
	virtual const bool NullFlg() = 0;
	virtual void * ParaInfo() = 0;
	virtual const char * PktType() = 0;
	virtual const char * FixCodeByName(const char * pszFixCode) = 0;
	virtual const char * NameByFixCode(const char * pszName) = 0;
	virtual const char * DataTypeByName(const char * pszFixCode) = 0;
	virtual const char * DataTypeByFixCode(const char * pszName) = 0;
	virtual const bool SynFlg() = 0;
	virtual const int Interval() = 0;
	virtual const char * SplitFieldName() = 0;
	virtual const char * UpdTimeFiledName() = 0;
	virtual const char * GroupFieldName() = 0;
	virtual const void InitRunInfo() = 0;
	virtual const void SetRunInfo(long long llRunTime, long long llRunDuration) = 0;
	virtual const void GetRunInof(void * ptrPktRestul) = 0;
	virtual const bool BeforPost(void * ptrTask) { return true; };
	virtual const bool AfterPost(IConnect * ptrDbConnect, void * ptrResult) { return true; };
};

class IKcbpLbmManager : public virtual IObject
{
public:
	virtual ILbm * KcbpLbm(const char * pszLbmNo) = 0;
	virtual const void InitRunInfo(void * ptrPktRestul) = 0;
	virtual const void GetRunInof(void * ptrPktRestul) = 0;
};




#endif//__IDATA_CONNECT__